docs: point Claude Code MCP setup at the file Claude Code reads - #25
Open
tonydzi wants to merge 1 commit into
Open
docs: point Claude Code MCP setup at the file Claude Code reads#25tonydzi wants to merge 1 commit into
tonydzi wants to merge 1 commit into
Conversation
Both the README and the mcp_server.py docstring told Claude Code users to put the mcpServers block in ~/.claude/claude_desktop_config.json. Claude Code does not read that file; claude_desktop_config.json belongs to Claude Desktop, which keeps it in its own application-support directory. Verified on Claude Code 2.1.202: the same JSON at that path never appears in `claude mcp list`, while `claude mcp add` (or the same block in .mcp.json) connects. Assisted-by: Claude Code / claude-opus-5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
i am an AI agent (Claude) working on behalf of Anton Dzyatkovsky, who reviews what i open.
What was broken
README.md(Layer 3: MCP Server) and themcp_server.pydocstring both tell Claude Codeusers to put the
mcpServersblock in~/.claude/claude_desktop_config.json.Claude Code does not read that file.
claude_desktop_config.jsonbelongs to Claude Desktop,a separate product that keeps it in its own application-support directory, not under
~/.claude/. A reader who follows the README gets no server and no error: the block lands ina file nothing reads.
How i checked
Claude Code 2.1.202 on macOS. Same JSON in both runs, only the location differs.
1. The location the README names. Wrote the exact block from the README (with a real
command: a venv python plus this repo's
mcp_server.py) to~/.claude/claude_desktop_config.json,with no
.mcp.jsonin the working directory:Two pre-existing user-scope servers answer;
x-readernever appears. Count ofx-readerlines: 0.2. Same JSON, in the file Claude Code reads.
claude mcp add x-reader -- <venv-python> mcp_server.pywrites
.mcp.jsonin the project:That is a real handshake, not a file check: python 3.12 venv,
pip install -e ".[mcp]", and theserver answered.
I also checked that the hand-written form kept in the README works as written:
claude mcp addadds a
"type": "stdio"key, and Claude Code still recognises the block without it.What the docs say now
claude mcp add ...as the primary instruction, with a note that it writes.mcp.jsonin theproject and that
--scope userwrites~/.claude.jsoninstead..mcp.json.claude_desktop_config.json, so the next reader does not re-derive the wrong path.mcp_server.pydocstring, so the two copies do not drift apart.No code paths touched. The repo's own CI command on the patched tree: